// 这样编写相当于是 两个 AddType 类型进行 + 操作，是会报错的。
// 我们能够想到的就是通过if判断，进行处理，但是这样是有弊端的
// 弊端1: 逻辑代码偏多，更加复杂
// 弊端2: 返回值的类型不能够确定

// type AddType = string | number;
// function add(a1: AddType, a2: AddType) {
//   if (typeof a1 === 'string' && typeof a2 === 'string') {
//     return a1 + a2
//   } else if () {
//     // .... 
//   }
// }
// add(10,20 )